﻿using Abp.Application.Services.Dto;
using Mt.Site.Application.Dto;
using Mt.Site.Application.Organizations.Dto;
using Mt.Site.Application.Organizations.Posts.Dto;
using System.Threading.Tasks;

namespace Mt.Site.Application.Organizations.Posts
{
    public interface IPostAppService : IBackEndAppService
    {
        Task CreateOrUpdatePostAsync(CreateOrUpdatePostInput input);
        Task DeletePostAsync(EntityIdListDto<long> input);
        Task<PagedResultDto<PostEditDto>> GetOrganizationUnitPostsAsync(GetOrganizationUnitPostsInput input);

        Task<GetPostForEditOutput> GetPostForEditAsync(GetPostForEditInput input);

        Task SwapPostSortNumber(SwapSortNumberInput<long> input);

        Task SetPostNewSorNumber(NewSortNumberInput<long> input);

        Task SetPostStatus(SetStatusInput<long> input);
    }
}
